/***************************************************************************
 创建者: 华磊
 开始时间: 2018.8.14
 copyright: (C) 华友高科
 修改说明: (每次有修改就添加一条，带有 修改人，修改时间，修改描述)
 example (1) hualei 2017.5.8 类的具体实现代码编写

 ***************************************************************************
 *  @file x.h
 *  功能:
 *
 *                                                                         *
 ***************************************************************************/
#ifndef REGCONDITIONBLOCK_H
#define REGCONDITIONBLOCK_H

#include "instructionEnum.h"
/**
 * @brief The RegConditionBlock class 寄存器块类
 */
class RegConditionBlock
{
public:
    RegConditionBlock();

    friend QDataStream& operator <<(QDataStream &out,RegConditionBlock &myVector);

    friend QDataStream& operator >>(QDataStream &in,RegConditionBlock &myVector);
    /**
     * @brief valueType         寄存器类型
     */
    VALUE_TYPE valueType;
    /**
     * @brief rightVarType      右值类型，直接或是间接
     */
    ADDRESSING_TYPE rightVarType;

    /*********PL******【i,j,k】*********只针对PL指令*************/
    /**
     * @brief pl_iVarType           i的类型【i、R【i】】
     */
    ADDRESSING_TYPE pl_iVarType;
    /**
     * @brief pl_jVarType           j的类型【j、R【j】】
     */
    ADDRESSING_TYPE pl_jVarType;
    /**
     * @brief pl_kVarType           k的类型【k、R【k】】
     */
    ADDRESSING_TYPE pl_kVarType;
    /**
     * @brief val       值
     */
    float val;
    /**
     * @brief plVal     PL的值
     */
    int plVal;
    /**
     * @brief i         i值
     */
    int i;
    /**
     * @brief j         j值
     */
    int j;
    /**
     * @brief k         k值
     */
    int k;
};

#endif // REGCONDITIONBLOCK_H

